package com.zmn.plat.services.interfaces.user;

import java.util.List;

import com.zmn.common.dto.StatusDTO;
import com.zmn.plat.model.entity.user.Customer;
import com.zmn.plat.model.entity.user.CustomerQuery;

/**
 * Customer: nowind
 * 
 * @since 18/04/18 20:16
 */
public interface CustomerService {

    Customer findByKey(Integer customerId);

    List<Customer> listPageByQuery(CustomerQuery query);

    List<Customer> listByQuery(CustomerQuery query);

    Integer countByQuery(CustomerQuery query);

    Integer updateByKey(Customer customer);

    Integer updateStatus(Integer customerId, Integer stsatus, String updater);

    Integer updateStatus(Customer customer);

    Integer updateStatusBatch(List<Integer> customerIds, Integer status, String updater);

    Integer updateStatusBatch(StatusDTO dto);

    Integer insert(Customer customer);

    Integer deleteByKey(Integer customerId);

}
